package com.zxe.noticeserver.service;

import com.zxe.commonserver.result.PageResult;
import com.zxe.noticeserver.pojo.NoticeDTO;
import com.zxe.noticeserver.pojo.NoticePageQueryDTO;
import com.zxe.noticeserver.pojo.NoticeVO;

import java.util.List;

public interface NoticeService {

    /**
     * 新增公告
     * @param noticeDTO
     */
    void addNotice(NoticeDTO noticeDTO);

    /**
     * 公告分页查询
     * @param noticePageQueryDTO
     * @return
     */
    PageResult pageQuery(NoticePageQueryDTO noticePageQueryDTO);

    /**
     * 批量删除公告
     * @param ids
     */
    void delete(List<Long> ids);

    /**
     * 修改公告
     * @param noticeDTO
     */
    void update(NoticeDTO noticeDTO);

    /**
     * 设置公告可见范围
     * @param status
     * @param id
     */
    void openOrHide(Integer status, Long id);

    /**
     * 根据id查询公告
     * @param id
     * @return
     */
    NoticeVO findById(Long id);
}
